MkClassDiagram
Node to display the class hierarchy of a class. Supports multiple modes.¶
Example: Baseclass diagram¶
graph TD
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169875232["mkdiagram.MkDiagram"]
94596170179664["mkcode.MkCode"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596169875232 --> 94596170373360
94596170179664 --> 94596169875232
94596169139824 --> 94596170179664
94596169136704 --> 94596169139824
94596171773984 --> 94596169136704
139930746687680 --> 94596171773984
```` mermaid
graph TD
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169875232["mkdiagram.MkDiagram"]
94596170179664["mkcode.MkCode"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596169875232 --> 94596170373360
94596170179664 --> 94596169875232
94596169139824 --> 94596170179664
94596169136704 --> 94596169139824
94596171773984 --> 94596169136704
139930746687680 --> 94596171773984
````
<pre class="mermaid"><code>graph TD
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169875232["mkdiagram.MkDiagram"]
94596170179664["mkcode.MkCode"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596169875232 --> 94596170373360
94596170179664 --> 94596169875232
94596169139824 --> 94596170179664
94596169136704 --> 94596169139824
94596171773984 --> 94596169136704
139930746687680 --> 94596171773984</code></pre>
Example: Subclass diagram¶
graph LR
94596169139824["mkcontainer.MkContainer"]
94596169140816["mkblock.MkBlock"]
94596173129984["mkhtmlblock.MkHtmlBlock"]
94596170171008["mkdetailsblock.MkDetailsBlock"]
94596169147680["mktabs.MkTabBlock"]
94596170172000["mkadmonition.MkAdmonition"]
94596170172992["mkblockquote.MkBlockQuote"]
94596170179664["mkcode.MkCode"]
94596169875232["mkdiagram.MkDiagram"]
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169100704["mkpipdeptree.MkPipDepTree"]
94596168153008["mktreeview.MkTreeView"]
94596168228624["mktemplate.MkTemplate"]
94596168230672["mkclidoc.MkCliDoc"]
94596168232448["mkmaterialbadge.MkMaterialBadge"]
94596169866464["mkimagecompare.MkImageCompare"]
94596169868240["mkimageslideshow.MkImageSlideshow"]
94596167927680["mkiframe.MkIFrame"]
94596173143840["mkcard.MkCard"]
94596172880352["mkinstallguide.MkInstallGuide"]
94596168179664["mkcodeofconduct.MkCodeOfConduct"]
94596168181440["mkcommitconventions.MkCommitConventions"]
94596169003120["mkpullrequestguidelines.MkPullRequestGuidelines"]
94596169004896["mkdevenvsetup.MkDevEnvSetup"]
94596169006672["mkdevtools.MkDevTools"]
94596169112432["mkreprrawrendered.MkReprRawRendered"]
94596170071968["mkcommandoutput.MkCommandOutput"]
94596170077744["mkcommentedcode.MkCommentedCode"]
94596170078736["mkconfigsetting.MkConfigSetting"]
94596170305008["mkpluginflow.MkPluginFlow"]
94596169145520["mklist.MkList"]
94596169877792["mkbasetable.MkBaseTable"]
94596167947440["mktable.MkTable"]
94596167948432["mkhtmltable.MkHtmlTable"]
94596167818336["mktabs.MkTab"]
94596167820112["mktabcontainer.MkTabContainer"]
94596167811264["mktabbedblocks.MkTabbedBlocks"]
94596167813040["mktabbed.MkTabbed"]
94596167814816["mkcritic.MkCritic"]
94596172077952["mkannotations.MkAnnotation"]
94596172078944["mkannotations.MkAnnotations"]
94596172103392["mkfootnotes.MkFootNote"]
94596172080720["mkfootnotes.MkFootNotes"]
94596169835056["mkdefinitionlist.MkDefinition"]
94596167931232["mkdefinitionlist.MkDefinitionList"]
94596168301424["mkpage.MkPage"]
94596172878736["mktemplatepage.MkTemplatePage"]
94596169840976["mkclasspage.MkClassPage"]
94596169845568["mkmodulepage.MkModulePage"]
94596168453312["mkshowcase.MkShowcase"]
94596168458416["mkspeechbubble.MkSpeechBubble"]
94596168455088["mktasklist.MkTask"]
94596167832096["mktasklist.MkTaskList"]
94596168413584["mktimeline.MkTimeline"]
94596169953056["mkshields.MkShields"]
94596168404656["mkmetadatabadges.MkMetadataBadges"]
94596169139824 --> 94596169140816
94596169140816 --> 94596173129984
94596169140816 --> 94596170171008
94596169140816 --> 94596169147680
94596169139824 --> 94596170172000
94596169139824 --> 94596170172992
94596169139824 --> 94596170179664
94596170179664 --> 94596169875232
94596169875232 --> 94596170373360
94596169875232 --> 94596169100704
94596170179664 --> 94596168153008
94596169139824 --> 94596168228624
94596168228624 --> 94596168230672
94596168228624 --> 94596168232448
94596168228624 --> 94596169866464
94596168228624 --> 94596169868240
94596168228624 --> 94596167927680
94596168228624 --> 94596173143840
94596168228624 --> 94596172880352
94596168228624 --> 94596168179664
94596168228624 --> 94596168181440
94596168228624 --> 94596169003120
94596168228624 --> 94596169004896
94596168228624 --> 94596169006672
94596168228624 --> 94596169112432
94596168228624 --> 94596170071968
94596168228624 --> 94596170077744
94596168228624 --> 94596170078736
94596168228624 --> 94596170305008
94596169139824 --> 94596169145520
94596169139824 --> 94596169877792
94596169877792 --> 94596167947440
94596169877792 --> 94596167948432
94596169139824 --> 94596167818336
94596169139824 --> 94596167820112
94596167820112 --> 94596167811264
94596167820112 --> 94596167813040
94596169139824 --> 94596167814816
94596169139824 --> 94596172077952
94596169139824 --> 94596172078944
94596169139824 --> 94596172103392
94596169139824 --> 94596172080720
94596169139824 --> 94596169835056
94596169139824 --> 94596167931232
94596169139824 --> 94596168301424
94596168301424 --> 94596172878736
94596172878736 --> 94596169840976
94596172878736 --> 94596169845568
94596169139824 --> 94596168453312
94596169139824 --> 94596168458416
94596169139824 --> 94596168455088
94596169139824 --> 94596167832096
94596169139824 --> 94596168413584
94596169139824 --> 94596169953056
94596169139824 --> 94596168404656
```` mermaid
graph LR
94596169139824["mkcontainer.MkContainer"]
94596169140816["mkblock.MkBlock"]
94596173129984["mkhtmlblock.MkHtmlBlock"]
94596170171008["mkdetailsblock.MkDetailsBlock"]
94596169147680["mktabs.MkTabBlock"]
94596170172000["mkadmonition.MkAdmonition"]
94596170172992["mkblockquote.MkBlockQuote"]
94596170179664["mkcode.MkCode"]
94596169875232["mkdiagram.MkDiagram"]
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169100704["mkpipdeptree.MkPipDepTree"]
94596168153008["mktreeview.MkTreeView"]
94596168228624["mktemplate.MkTemplate"]
94596168230672["mkclidoc.MkCliDoc"]
94596168232448["mkmaterialbadge.MkMaterialBadge"]
94596169866464["mkimagecompare.MkImageCompare"]
94596169868240["mkimageslideshow.MkImageSlideshow"]
94596167927680["mkiframe.MkIFrame"]
94596173143840["mkcard.MkCard"]
94596172880352["mkinstallguide.MkInstallGuide"]
94596168179664["mkcodeofconduct.MkCodeOfConduct"]
94596168181440["mkcommitconventions.MkCommitConventions"]
94596169003120["mkpullrequestguidelines.MkPullRequestGuidelines"]
94596169004896["mkdevenvsetup.MkDevEnvSetup"]
94596169006672["mkdevtools.MkDevTools"]
94596169112432["mkreprrawrendered.MkReprRawRendered"]
94596170071968["mkcommandoutput.MkCommandOutput"]
94596170077744["mkcommentedcode.MkCommentedCode"]
94596170078736["mkconfigsetting.MkConfigSetting"]
94596170305008["mkpluginflow.MkPluginFlow"]
94596169145520["mklist.MkList"]
94596169877792["mkbasetable.MkBaseTable"]
94596167947440["mktable.MkTable"]
94596167948432["mkhtmltable.MkHtmlTable"]
94596167818336["mktabs.MkTab"]
94596167820112["mktabcontainer.MkTabContainer"]
94596167811264["mktabbedblocks.MkTabbedBlocks"]
94596167813040["mktabbed.MkTabbed"]
94596167814816["mkcritic.MkCritic"]
94596172077952["mkannotations.MkAnnotation"]
94596172078944["mkannotations.MkAnnotations"]
94596172103392["mkfootnotes.MkFootNote"]
94596172080720["mkfootnotes.MkFootNotes"]
94596169835056["mkdefinitionlist.MkDefinition"]
94596167931232["mkdefinitionlist.MkDefinitionList"]
94596168301424["mkpage.MkPage"]
94596172878736["mktemplatepage.MkTemplatePage"]
94596169840976["mkclasspage.MkClassPage"]
94596169845568["mkmodulepage.MkModulePage"]
94596168453312["mkshowcase.MkShowcase"]
94596168458416["mkspeechbubble.MkSpeechBubble"]
94596168455088["mktasklist.MkTask"]
94596167832096["mktasklist.MkTaskList"]
94596168413584["mktimeline.MkTimeline"]
94596169953056["mkshields.MkShields"]
94596168404656["mkmetadatabadges.MkMetadataBadges"]
94596169139824 --> 94596169140816
94596169140816 --> 94596173129984
94596169140816 --> 94596170171008
94596169140816 --> 94596169147680
94596169139824 --> 94596170172000
94596169139824 --> 94596170172992
94596169139824 --> 94596170179664
94596170179664 --> 94596169875232
94596169875232 --> 94596170373360
94596169875232 --> 94596169100704
94596170179664 --> 94596168153008
94596169139824 --> 94596168228624
94596168228624 --> 94596168230672
94596168228624 --> 94596168232448
94596168228624 --> 94596169866464
94596168228624 --> 94596169868240
94596168228624 --> 94596167927680
94596168228624 --> 94596173143840
94596168228624 --> 94596172880352
94596168228624 --> 94596168179664
94596168228624 --> 94596168181440
94596168228624 --> 94596169003120
94596168228624 --> 94596169004896
94596168228624 --> 94596169006672
94596168228624 --> 94596169112432
94596168228624 --> 94596170071968
94596168228624 --> 94596170077744
94596168228624 --> 94596170078736
94596168228624 --> 94596170305008
94596169139824 --> 94596169145520
94596169139824 --> 94596169877792
94596169877792 --> 94596167947440
94596169877792 --> 94596167948432
94596169139824 --> 94596167818336
94596169139824 --> 94596167820112
94596167820112 --> 94596167811264
94596167820112 --> 94596167813040
94596169139824 --> 94596167814816
94596169139824 --> 94596172077952
94596169139824 --> 94596172078944
94596169139824 --> 94596172103392
94596169139824 --> 94596172080720
94596169139824 --> 94596169835056
94596169139824 --> 94596167931232
94596169139824 --> 94596168301424
94596168301424 --> 94596172878736
94596172878736 --> 94596169840976
94596172878736 --> 94596169845568
94596169139824 --> 94596168453312
94596169139824 --> 94596168458416
94596169139824 --> 94596168455088
94596169139824 --> 94596167832096
94596169139824 --> 94596168413584
94596169139824 --> 94596169953056
94596169139824 --> 94596168404656
````
<pre class="mermaid"><code>graph LR
94596169139824["mkcontainer.MkContainer"]
94596169140816["mkblock.MkBlock"]
94596173129984["mkhtmlblock.MkHtmlBlock"]
94596170171008["mkdetailsblock.MkDetailsBlock"]
94596169147680["mktabs.MkTabBlock"]
94596170172000["mkadmonition.MkAdmonition"]
94596170172992["mkblockquote.MkBlockQuote"]
94596170179664["mkcode.MkCode"]
94596169875232["mkdiagram.MkDiagram"]
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169100704["mkpipdeptree.MkPipDepTree"]
94596168153008["mktreeview.MkTreeView"]
94596168228624["mktemplate.MkTemplate"]
94596168230672["mkclidoc.MkCliDoc"]
94596168232448["mkmaterialbadge.MkMaterialBadge"]
94596169866464["mkimagecompare.MkImageCompare"]
94596169868240["mkimageslideshow.MkImageSlideshow"]
94596167927680["mkiframe.MkIFrame"]
94596173143840["mkcard.MkCard"]
94596172880352["mkinstallguide.MkInstallGuide"]
94596168179664["mkcodeofconduct.MkCodeOfConduct"]
94596168181440["mkcommitconventions.MkCommitConventions"]
94596169003120["mkpullrequestguidelines.MkPullRequestGuidelines"]
94596169004896["mkdevenvsetup.MkDevEnvSetup"]
94596169006672["mkdevtools.MkDevTools"]
94596169112432["mkreprrawrendered.MkReprRawRendered"]
94596170071968["mkcommandoutput.MkCommandOutput"]
94596170077744["mkcommentedcode.MkCommentedCode"]
94596170078736["mkconfigsetting.MkConfigSetting"]
94596170305008["mkpluginflow.MkPluginFlow"]
94596169145520["mklist.MkList"]
94596169877792["mkbasetable.MkBaseTable"]
94596167947440["mktable.MkTable"]
94596167948432["mkhtmltable.MkHtmlTable"]
94596167818336["mktabs.MkTab"]
94596167820112["mktabcontainer.MkTabContainer"]
94596167811264["mktabbedblocks.MkTabbedBlocks"]
94596167813040["mktabbed.MkTabbed"]
94596167814816["mkcritic.MkCritic"]
94596172077952["mkannotations.MkAnnotation"]
94596172078944["mkannotations.MkAnnotations"]
94596172103392["mkfootnotes.MkFootNote"]
94596172080720["mkfootnotes.MkFootNotes"]
94596169835056["mkdefinitionlist.MkDefinition"]
94596167931232["mkdefinitionlist.MkDefinitionList"]
94596168301424["mkpage.MkPage"]
94596172878736["mktemplatepage.MkTemplatePage"]
94596169840976["mkclasspage.MkClassPage"]
94596169845568["mkmodulepage.MkModulePage"]
94596168453312["mkshowcase.MkShowcase"]
94596168458416["mkspeechbubble.MkSpeechBubble"]
94596168455088["mktasklist.MkTask"]
94596167832096["mktasklist.MkTaskList"]
94596168413584["mktimeline.MkTimeline"]
94596169953056["mkshields.MkShields"]
94596168404656["mkmetadatabadges.MkMetadataBadges"]
94596169139824 --> 94596169140816
94596169140816 --> 94596173129984
94596169140816 --> 94596170171008
94596169140816 --> 94596169147680
94596169139824 --> 94596170172000
94596169139824 --> 94596170172992
94596169139824 --> 94596170179664
94596170179664 --> 94596169875232
94596169875232 --> 94596170373360
94596169875232 --> 94596169100704
94596170179664 --> 94596168153008
94596169139824 --> 94596168228624
94596168228624 --> 94596168230672
94596168228624 --> 94596168232448
94596168228624 --> 94596169866464
94596168228624 --> 94596169868240
94596168228624 --> 94596167927680
94596168228624 --> 94596173143840
94596168228624 --> 94596172880352
94596168228624 --> 94596168179664
94596168228624 --> 94596168181440
94596168228624 --> 94596169003120
94596168228624 --> 94596169004896
94596168228624 --> 94596169006672
94596168228624 --> 94596169112432
94596168228624 --> 94596170071968
94596168228624 --> 94596170077744
94596168228624 --> 94596170078736
94596168228624 --> 94596170305008
94596169139824 --> 94596169145520
94596169139824 --> 94596169877792
94596169877792 --> 94596167947440
94596169877792 --> 94596167948432
94596169139824 --> 94596167818336
94596169139824 --> 94596167820112
94596167820112 --> 94596167811264
94596167820112 --> 94596167813040
94596169139824 --> 94596167814816
94596169139824 --> 94596172077952
94596169139824 --> 94596172078944
94596169139824 --> 94596172103392
94596169139824 --> 94596172080720
94596169139824 --> 94596169835056
94596169139824 --> 94596167931232
94596169139824 --> 94596168301424
94596168301424 --> 94596172878736
94596172878736 --> 94596169840976
94596172878736 --> 94596169845568
94596169139824 --> 94596168453312
94596169139824 --> 94596168458416
94596169139824 --> 94596168455088
94596169139824 --> 94596167832096
94596169139824 --> 94596168413584
94596169139824 --> 94596169953056
94596169139824 --> 94596168404656</code></pre>
Example: MRO diagram¶
graph TD
94596167947440["mktable.MkTable"]
94596169877792["mkbasetable.MkBaseTable"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596167947440 --> 94596169877792
94596169877792 --> 94596169139824
94596169139824 --> 94596169136704
94596169136704 --> 94596171773984
94596171773984 --> 139930746687680
```` mermaid
graph TD
94596167947440["mktable.MkTable"]
94596169877792["mkbasetable.MkBaseTable"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596167947440 --> 94596169877792
94596169877792 --> 94596169139824
94596169139824 --> 94596169136704
94596169136704 --> 94596171773984
94596171773984 --> 139930746687680
````
<pre class="mermaid"><code>graph TD
94596167947440["mktable.MkTable"]
94596169877792["mkbasetable.MkBaseTable"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596167947440 --> 94596169877792
94596169877792 --> 94596169139824
94596169139824 --> 94596169136704
94596169136704 --> 94596171773984
94596171773984 --> 139930746687680</code></pre>
Bases: MkDiagram
__init__
¶
__init__(
klass: type | str | Class,
mode: DiagramModeStr = "baseclasses",
direction: Literal["TD", "DT", "LR", "RL"] = "TD",
max_depth: int | None = None,
**kwargs: Any
)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
klass
|
type | str | Class
|
Klass to show a diagram for |
required |
mode
|
DiagramModeStr
|
What kind of diagram to display |
'baseclasses'
|
direction
|
Literal['TD', 'DT', 'LR', 'RL']
|
diagram direction |
'TD'
|
max_depth
|
int | None
|
Maxium depth to display |
None
|
kwargs
|
Any
|
Keyword arguments passed to parent |
{}
|
Name | Children | Inherits |
---|---|---|
MkDiagram mknodes.basenodes.mkdiagram Class representing a mermaid diagram. |
graph TD
94596170373360["mkclassdiagram.MkClassDiagram"]
94596169875232["mkdiagram.MkDiagram"]
94596170179664["mkcode.MkCode"]
94596169139824["mkcontainer.MkContainer"]
94596169136704["mknode.MkNode"]
94596171773984["node.Node"]
139930746687680["builtins.object"]
94596169875232 --> 94596170373360
94596170179664 --> 94596169875232
94596169139824 --> 94596170179664
94596169136704 --> 94596169139824
94596171773984 --> 94596169136704
139930746687680 --> 94596171773984
/home/runner/work/mknodes/mknodes/mknodes/templatenodes/mkclassdiagram/metadata.toml
[metadata]
icon = "mdi:graph-outline"
name = "MkClassDiagram"
group = "diagram"
[[requirements.extension."pymdownx.superfences".custom_fences]]
name = "mermaid"
class = "mermaid"
format = "pymdownx.superfences.fence_code_format"
[examples.baseclass_diagram]
title = "Baseclass diagram"
jinja = """
{{ _mk.MkClassDiagram | MkClassDiagram(mode="baseclasses") }}
"""
[examples.subclass_diagram]
title = "Subclass diagram"
jinja = """
{{ _mk.MkContainer | MkClassDiagram(mode="subclasses", direction="LR") }}
"""
[examples.mro_diagram]
title = "MRO diagram"
jinja = """
{{ _mk.MkTable | MkClassDiagram(mode="mro") }}
"""
[output.markdown]
template = """
{{ node.fence_boundary }} mermaid
graph {{ node.direction }}
{% for identifier, title in node.builder.items | zip(node.builder.titles) %}
{{ identifier }}["{{ title }}"]
{% endfor %}
{% for a, b in node.builder.connections %}
{{ a }} --> {{ b }}
{% endfor %}
{{ node.fence_boundary }}
"""